package com.yu.mapper.system;


import java.util.List;

import com.yu.entity.system.MenuConditionEntity;
import com.yu.entity.system.MenuEntity;
import io.lettuce.core.dynamic.annotation.Param;


/**
 * 菜单 mapper
 *
 * @author maxinyu 该代码由maxinyu生成
 * @date 2025-06-02 15:26:06
 */
public interface MenuMapper{
	/**
     * 查询菜单信息
     *
     * @param id 菜单ID
     * @return 菜单信息
     */
	MenuEntity findById(Long id);

	/**
     * 添加菜单
     *
     * @param menuEntity 菜单信息
     * @return 结果
     */
	int insert(MenuEntity menuEntity);

	/**
     * 修改菜单
     *
     * @param menuEntity 菜单信息
     * @return 结果
     */
	int update(MenuEntity menuEntity);

	/**
     * 批量删除菜单
     *
     * @param ids id集合
     * @param entity 菜单实体
     * @return 结果
     */
	int deleteByIds(@Param("ids") List<Long> ids, @Param("entity") MenuEntity entity);

	/**
     * 批量查询菜单信息
     *
     * @param ids ID集合
     * @return 部门信息
    */
	List<MenuEntity> findByIds(List<Long> ids);

	/**
	 * 根据条件查询菜单列表
	 *
	 * @param menuConditionEntity 菜单信息
	 * @return 菜单集合
	 */
	List<MenuEntity> searchByCondition(MenuConditionEntity menuConditionEntity);

	/**
	 * 根据条件查询菜单数量
	 *
	 * @param menuConditionEntity 菜单信息
	 * @return 菜单集合
	 */
	int searchCount(MenuConditionEntity menuConditionEntity);

	/**
	 * 删除菜单
	 *
	 * @param id 部门ID
	 * @return 结果
	 */
	int deleteById(Long id);
}
